package cn.exrick.xboot.modules.base.dao.sqlprovider;

import cn.exrick.xboot.modules.base.entity.User;

import javax.persistence.criteria.*;
import javax.persistence.metamodel.*;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: njp
 * @Date: 2020/07/07/10:32
 * @Description:
 */
public class UserSqlProvider {

    public  void  test(){

        Root<User>  r=new Root<User>() {
            @Override
            public EntityType<User> getModel() {
                return null;
            }

            @Override
            public Set<Join<User, ?>> getJoins() {
                return null;
            }

            @Override
            public boolean isCorrelated() {
                return false;
            }

            @Override
            public From<User, User> getCorrelationParent() {
                return null;
            }

            @Override
            public <Y> Join<User, Y> join(SingularAttribute<? super User, Y> attribute) {
                return null;
            }

            @Override
            public <Y> Join<User, Y> join(SingularAttribute<? super User, Y> attribute, JoinType jt) {
                return null;
            }

            @Override
            public <Y> CollectionJoin<User, Y> join(CollectionAttribute<? super User, Y> collection) {
                return null;
            }

            @Override
            public <Y> SetJoin<User, Y> join(SetAttribute<? super User, Y> set) {
                return null;
            }

            @Override
            public <Y> ListJoin<User, Y> join(ListAttribute<? super User, Y> list) {
                return null;
            }

            @Override
            public <K, V> MapJoin<User, K, V> join(MapAttribute<? super User, K, V> map) {
                return null;
            }

            @Override
            public <Y> CollectionJoin<User, Y> join(CollectionAttribute<? super User, Y> collection, JoinType jt) {
                return null;
            }

            @Override
            public <Y> SetJoin<User, Y> join(SetAttribute<? super User, Y> set, JoinType jt) {
                return null;
            }

            @Override
            public <Y> ListJoin<User, Y> join(ListAttribute<? super User, Y> list, JoinType jt) {
                return null;
            }

            @Override
            public <K, V> MapJoin<User, K, V> join(MapAttribute<? super User, K, V> map, JoinType jt) {
                return null;
            }

            @Override
            public <X, Y> Join<X, Y> join(String attributeName) {
                return null;
            }

            @Override
            public <X, Y> CollectionJoin<X, Y> joinCollection(String attributeName) {
                return null;
            }

            @Override
            public <X, Y> SetJoin<X, Y> joinSet(String attributeName) {
                return null;
            }

            @Override
            public <X, Y> ListJoin<X, Y> joinList(String attributeName) {
                return null;
            }

            @Override
            public <X, K, V> MapJoin<X, K, V> joinMap(String attributeName) {
                return null;
            }

            @Override
            public <X, Y> Join<X, Y> join(String attributeName, JoinType jt) {
                return null;
            }

            @Override
            public <X, Y> CollectionJoin<X, Y> joinCollection(String attributeName, JoinType jt) {
                return null;
            }

            @Override
            public <X, Y> SetJoin<X, Y> joinSet(String attributeName, JoinType jt) {
                return null;
            }

            @Override
            public <X, Y> ListJoin<X, Y> joinList(String attributeName, JoinType jt) {
                return null;
            }

            @Override
            public <X, K, V> MapJoin<X, K, V> joinMap(String attributeName, JoinType jt) {
                return null;
            }

            @Override
            public Path<?> getParentPath() {
                return null;
            }

            @Override
            public <Y> Path<Y> get(SingularAttribute<? super User, Y> attribute) {
                return null;
            }

            @Override
            public <E, C extends Collection<E>> Expression<C> get(PluralAttribute<User, C, E> collection) {
                return null;
            }

            @Override
            public <K, V, M extends Map<K, V>> Expression<M> get(MapAttribute<User, K, V> map) {
                return null;
            }

            @Override
            public Expression<Class<? extends User>> type() {
                return null;
            }

            @Override
            public <Y> Path<Y> get(String attributeName) {
                return null;
            }

            @Override
            public Predicate isNull() {
                return null;
            }

            @Override
            public Predicate isNotNull() {
                return null;
            }

            @Override
            public Predicate in(Object... values) {
                return null;
            }

            @Override
            public Predicate in(Expression<?>... values) {
                return null;
            }

            @Override
            public Predicate in(Collection<?> values) {
                return null;
            }

            @Override
            public Predicate in(Expression<Collection<?>> values) {
                return null;
            }

            @Override
            public <X> Expression<X> as(Class<X> type) {
                return null;
            }

            @Override
            public Set<Fetch<User, ?>> getFetches() {
                return null;
            }

            @Override
            public <Y> Fetch<User, Y> fetch(SingularAttribute<? super User, Y> attribute) {
                return null;
            }

            @Override
            public <Y> Fetch<User, Y> fetch(SingularAttribute<? super User, Y> attribute, JoinType jt) {
                return null;
            }

            @Override
            public <Y> Fetch<User, Y> fetch(PluralAttribute<? super User, ?, Y> attribute) {
                return null;
            }

            @Override
            public <Y> Fetch<User, Y> fetch(PluralAttribute<? super User, ?, Y> attribute, JoinType jt) {
                return null;
            }

            @Override
            public <X, Y> Fetch<X, Y> fetch(String attributeName) {
                return null;
            }

            @Override
            public <X, Y> Fetch<X, Y> fetch(String attributeName, JoinType jt) {
                return null;
            }

            @Override
            public Selection<User> alias(String name) {
                return null;
            }

            @Override
            public boolean isCompoundSelection() {
                return false;
            }

            @Override
            public List<Selection<?>> getCompoundSelectionItems() {
                return null;
            }

            @Override
            public Class<? extends User> getJavaType() {
                return null;
            }

            @Override
            public String getAlias() {
                return null;
            }
        };
    }
}
